草庐IT

c++ - constexpr 计算量的实际限制

全部标签

windows - 为什么要这样计算位图大小?

我正在阅读与捕获图像相关的Window示例。文章位于http://msdn.microsoft.com/en-us/library/dd183402(v=vs.85).aspx.让我印象深刻的一件事是位图大小的计算。是这样的:DWORDdwBmpSize=((bmpScreen.bmWidth*bi.biBitCount+31)/32)*4*bmpScreen.bmHeight;我希望它更像这样:DWORDdwBmpSize=bmpScreen.bmWidth*bmpScreen.bmHeight*bi.biBitCount/8;有人介意解释一下前者的观点吗?谢谢!

c++ - 与 __stdcall 函数指针声明等价的 clang 是什么?

我有以下函数指针声明:externlong(__stdcall*FooPtr)(int*i);也就是说,一个函数指针指向一个函数,该函数将使用stdcall调用约定(在VS术语中)调用。我怎样才能翻译这个声明让clang理解它? 最佳答案 __attribute__((stdcall))是正确答案:clang支持thefollowinglistofattributes在语法上,它与gcc的非常相似。例如#ifdefined(__clang__)||defined(__GNUC__)#definestdCallConv__attrib

c - 检测 SD 读卡器是否插入了卡

有谁知道如何使用C中的WindowsApi来检测SD卡读卡器是否插入了卡?平台:windowsxp/visa/7/8。我用谷歌搜索并查看了WindowsAPI文档(我不熟悉它,所以可能错过了很多),但一直找不到答案。我看过这篇文章HowcanIdetectwhenanSDcardispluggedin?-这很接近但没有给我我需要的东西,因为我不想检测状态的变化,而是在查询时它处于什么状态。(如果碰巧有人有这个的Ada实现,那就太棒了,否则我打算只与C链接)谢谢你的帮助马特 最佳答案 我使用WindowsAPI调用GetVolumeI

c - 错误 C2059 : syntax error : 'bad suffix on number' with cl. exe vc 编译器

我尝试编译的代码片段是这样的VOIDPTSetPageAttributexxyy(INUINT642g,INUINT64Base,INUINT64Length,INUINT32Ra,INUINT32Wa,INUINT32Xa,INMY_ATTRIBUTE_SETTINGsetting);我得到:errorC2059:syntaxerror:'badsuffixonnumber'用cl.exevc编译器 最佳答案 参数名称2g无效。它必须以字母或_开头。 关于c-错误C2059:synta

c++ - 如何检测不同的Windows目标平台?

我想为我的C/C++文件创建一个通用头文件。在该头文件中,我希望编译时检测我正在为哪个平台构建以及我正在为该平台构建什么类型的应用程序。选项是:桌面应用程序。操作系统:Win7/Win8.x。中央处理器:英特尔/AMD。设备:个人电脑/笔记本电脑WindowsPhone应用程序。操作系统:Windows:8.x。中央处理器:ARM。设备:Windows手机桌面应用程序。操作系统:Windows8.x。中央处理器:英特尔。设备:平板电脑商店应用程序。操作系统:Windows8.x。中央处理器:英特尔。设备:平板电脑桌面应用程序。操作系统:WindowsRT。中央处理器:ARM。设备:平板

c# - 无法在计算机上打开服务控制管理器

我正在尝试编写一个程序来连接到远程服务器并显示服务的某些状态。服务也是我们(我公司)写的。为此,我编写了一个控制台应用程序,代码是staticvoidMain(string[]args){ConnectionOptionsoptions=newConnectionOptions();options.Password="mypassword";options.Username="Administrator";options.Impersonation=System.Management.ImpersonationLevel.Impersonate;ManagementScopescope

windows - 限制 Maya 在 Windows 上可以打开的文件数量

我在Internet上广泛搜索了这个,答案通常是一个问题:为什么您需要同时打开这么多文件?实际上,我正在处理的程序是AutodeskMaya2014,当您使用几何缓存时,当您在场景中导入这些地理缓存时,maya将打开与缓存的形状一样多的文件。如果您将其他打开的文件(如纹理和引用)添加到此,我们发现我们有507个打开文件的限制。我在Linux上读到过,它就像执行ulimit-n一样简单,但我在Windows上找不到任何可行的解决方案来允许Maya打开超过这507个文档。 最佳答案 我终于找到了解决办法。首先,我在这里找到了适用于May

c - 如何在 C 程序中重定向标准输入(在 Windows 下)

我有一个名为a.exe的简单C程序,其主循环如下:voidinput_console(){printf(">>");charin_string[256]={0};fgets(in_string,256,stdin);parse(in_string);}当我启动它并从我的键盘输入命令时,它是这样工作的:>>say_helloHello!>>say_goodbyeGoodbye!>>nocommandfound>>blablablablaCommandblablablablanotrecognized>>nocommandfound等等现在我想从文件而不是键盘读取输入,所以我这样准备了in

c - 在不按回车键的情况下读入命令提示符输入

我正在尝试在Windows命令提示符下用C编写一个程序,我可以用它来练习盲打。我想通过让程序提示输入一个字母来做到这一点,一旦我输入一个字母,我希望它记录该字母是否正确,并在退出之前重复该过程预定的次数并告诉我我的时间和准确性。通过在每个字母之间按enter使其工作很容易,但我觉得它不会像我不必按enter那样有用。我在大学里做了一个项目,它有一个类似的组件,但它是在linux中使用C++。我不想只为这个程序做整个虚拟盒子等设置。//Thelinuxprogramincludedsomethinglikethis://collectingoriginalstructureformate

c - 从 sys 文件中提取资源

如何提取系统文件的资源?我相信exe、dll和sys文件具有相同的header。对吗?我不明白我应该如何处理资源表的VirtualAddress和Size。#include#include#includevoidmain(){FILE*file=fopen("example.sys","r");IMAGE_DOS_HEADERdos_header;IMAGE_NT_HEADERSnt_header;IMAGE_DATA_DIRECTORYdata_directory;char*data;if(file!=NULL){fseek(file,0,SEEK_SET);fread(&dos_h